-
Notifications
You must be signed in to change notification settings - Fork 4
Add mountain wave validation case #66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
|
Should the new validation script be run in CI? Maybe after #67, because that touches the Validation workflow |
One issue with always running validation in CI is that there will probably need to be some heavy validation cases. So we may not be able to run them all (or at least not all the time... maybe infrequently, eg nightly or weekly) Another thought is that I think its nice to implement validation cases as "examples" which get built into the documentation (Oceananigans does this to some extent, though we may be able to do an even better job here). However one may want to have additional validation cases that are not examples. Some of the non-example validation cases could be lightweight enough to run regularly in CI. Maybe we can flesh out a strategy that incorporates these considerations? |
|
Yes. Agree. It's bit tricky to run the validation cases in a CI. Especially if validation cases also start plotting things and one needs to visually inspect to ensure that nothing changed. An idea would be that validation scripts finish at run!(simulation)plus perhaps a very simple test after (eg something to ensure the flow is not nonsense?) simulation.model.tracers.temperature < 300And then different scripts for plotting? It does make the validation directory a bit more complex... |
|
Possibly we want to implement validation tests as regression tests. |
Great work @kaiyuan-cheng ! This is indeed a challenging test for z-coordinate, so it is quite useful. My two big comments are 1) can we see what the solution looks like at high resolution (I understand that we need to get GPU working for that --- I will look at that in parallel) and 2) can we investigate whether vertical grid stretching helps? Some more detail below. Here are my takeaways:
here are my existing questions:
a few comments:
At some point we should open an issue to discuss the pros and cons. Tagging @OsKnoth, @bischtob because he basically told me all of the points that I made above 😂 |
|
Also tagging @simone-silvestri since I suspect he will be intrigued by acoustic substepping AND terrain following coordinate implementations (whose work could possibly inform the ocean model as well) --- although my hunch is that maintaining restful hydrostatic balance is harder in the ocean due to (1) bigger topography relative to depth (it goes to the top) and (2) possibly, equation of state difficulties. |
|
@kaiyuan-cheng can you also push your changes to this PR so we can see your code? |
I pushed it last night. Here is the link. Let me know if you have trouble accessing it. |
Yes, but this is not an ideal solution as it will increase the computational cost significantly (more vertical grids, together with smaller dt).
I think we probably will need a terrain-following coordinate.
Totally.
I guess stretching grid will help, but I expect it will still require a finer grid (and a smaller dt) to resolve the topography compared to a terrain-following coordinate, which will increase the computational cost.
I think it depends on the slope of the terrain.
I guess a terrain-following coordinate would better capture weather phenomena related to topography, such as orographic precipitation and foehn winds. By "better", I mean more computationally efficient.
Agree.
Agree.
|

cc @kaiyuan-cheng